Conflict Exceptions: Providing Simple Parallel Language Semantics with Precise Hardware Exceptions

نویسندگان

  • Brandon Lucia
  • Luis Ceze
  • Karin Strauss
  • Shaz Qadeer
چکیده

We argue in this paper that concurrency errors should be treated as exceptions, i.e., have fail-stop behavior and precise semantics. We propose an exception model based on conflict of synchronization-free regions, which precisely detects a broad class of data-races. We show that our exceptions provide enough guarantees to simplify high-level programming language semantics and debugging, but are significantly cheaper to enforce than traditional data-race detection. To make the performance cost of enforcement negligible, we propose architecture support for accurately detecting and precisely delivering these exceptions. We evaluate the suitability of our model as well as the behavior of our architectural mechanisms using the PARSEC benchmark suite and commercial applications. The results show that the exception model largely reflects how programmers are already writing code and that the main memory, traffic and performance overheads of the enforcement mechanisms we propose are very low.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Structured Exception Semantics for Concurrent Loops

Concurrent languages have offered parallel loop constructs for some time to allow a parallel computation to be expressed in a simple and straightforward fashion. Modern programming languages include exceptions to allow for clean handling of errors or unexpected conditions, but few concurrent languages incorporate exception handling into their models for parallel loops. As a result, programmers ...

متن کامل

A Concurrent Semantics of Static Exceptions in a Parallel Programming Language

This paper aims at introducing a mechanism of exceptions in a parallel programming language, giving them a formal concurrent semantics in terms of preemptible and composable high-level Petri nets. We show that, combined with concurrency, exceptions can be used as a basis for other preemption related constructs. We illustrate this idea by presenting a generalized timeout and a simple UNIX-like s...

متن کامل

Sgml and Exceptions Sgml and Exceptions

The Standard Generalized Markup Language (SGML) allows users to deene document type deenitions (DTDs), which are essentially extended context-free grammars in a notation that is similar to extended Backus{Naur form. The right-hand side of a production is called a content model and its semantics can be modiied by exceptions. We give precise deenitions of the semantics of exceptions and prove tha...

متن کامل

Sgml and Exceptions 1 Pekka Kilpell Ainen 2

The Standard Generalized Markup Language (SGML) allows users to deene document type deenitions (DTDs), which are essentially extended context-free grammars in a notation that is similar to extended Backus{Naur form. The right-hand side of a production is called a content model and its semantics can be modiied by exceptions. We give precise deenitions of the semantics of exceptions and prove tha...

متن کامل

Compiling and reasoning about exceptions and interrupts

Exceptions and interrupts are important for programming reliable software systems, yet our methods for reasoning about them are weak. In this thesis we explore the problem of compiling and reasoning about exceptions and interrupts in the context of a simple language. We develop the language in three stages, initially without any form of exceptions, then adding exceptions, and finally adding int...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009